﻿#define _CRT_SECURE_NO_WARNINGS	

#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<assert.h>


//双向链表，又称带头的双向链表

//双向链表节点的定义
typedef int LTDataType;
typedef struct LTNode
{
	int data;
	struct LTNode* next; //指向下一个节点的指针
	struct LTNode* prev; //指向上一个节点的指针
}LTNode;

void LTInit(LTNode** pphead);
//LTNode* LTInit();

void LTDestroy(LTNode* phead);

void LTPrint(LTNode* phead);

bool LTEmpty(LTNode* phead);

void LTPushBack(LTNode* phead, LTDataType x);

void LTPopBack(LTNode* phead);

void LTPushFront(LTNode* phead, LTDataType x);

void LTPopFront(LTNode* phead);

//在pos位置之后插⼊数据
void LTInsert(LTNode* pos, LTDataType x);

void LTErase(LTNode* pos);

LTNode* LTFind(LTNode* phead, LTDataType x);

